Page({
  /**
   * 页面的初始数据
   */
  data: {
    redirecting: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('中转页面加载，参数:', options);
    
    if (options.id) {
      // 先检查会话状态，再跳转
      this.checkConversationStatus(options.id);
    } else {
      wx.showToast({
        title: '缺少会话ID',
        icon: 'none'
      });
      
      setTimeout(() => {
        wx.navigateBack();
      }, 1500);
    }
  },

  /**
   * 检查会话状态
   */
  checkConversationStatus: function(id) {
    const app = getApp();
    
    // 显示加载中提示
    wx.showLoading({
      title: '加载中...',
      mask: true
    });
    
    // 先尝试获取消息列表，从中提取会话状态
    wx.request({
      url: `${app.globalData.baseUrl}/consult/message/${id}`,
      method: 'GET',
      header: {
        'Authorization': `Bearer ${app.globalData.token}`
      },
      success: (res) => {
        console.log('获取消息列表结果:', res);
        
        let conversationStatus = 0; // 默认为进行中
        
        // 检查返回数据中是否包含会话状态信息
        if (res.statusCode === 200 && res.data) {
          if (res.data.conversation && res.data.conversation.status !== undefined) {
            conversationStatus = res.data.conversation.status;
            console.log('从消息列表中获取到会话状态:', conversationStatus);
          }
        }
        
        // 使用参数传递状态
        this.navigateToChat(id, conversationStatus);
      },
      fail: (err) => {
        console.error('获取消息列表失败:', err);
        // 失败也进行跳转，使用默认状态
        this.navigateToChat(id, 0);
      },
      complete: () => {
        wx.hideLoading();
      }
    });
  },

  /**
   * 跳转到聊天页面
   */
  navigateToChat: function(id, status) {
    console.log('准备跳转到聊天页面，会话ID:', id, '会话状态:', status);
    
    wx.reLaunch({
      url: `/pages/consult/chat?id=${id}&status=${status}`,
      fail: (err) => {
        console.error('无法跳转到聊天页面:', err);
        wx.showToast({
          title: '跳转聊天页面失败',
          icon: 'none'
        });
      }
    });
  }
}); 